1 *CHARACTER SET MOVE ROUTINE 2 *A-USR(1664,CHRAMH,l OR 2,PAGES) 3 * 4 ORG $680 5 *** TF "D:CHARMOVE.OBJ 6 CHRAML EQU $CB 7 CHRAMH EQU $CC 8 CHROML EQU $CD 9 CHROMH EQU $CE 0680 68 10 START PLA ; PULL UNUSED BYTE OFF STACK 0681 68 11 PLA ; DISCARD LO BYTE 0682 68 12 PLA ; RAM LOCATION OF CHARACTER SET 0683 85CC 13 STA CHRAMH 0685 68 14 PLA 0686 68 15 PLA ; START AT IST OR 2ND HALF? 0687 C901 16 CMP #$01 0689 F004 17 BEQ .1 ; IF 2 SKIP 2 PAGES 068B E6CE 18 INC CHROMH 068D E6CC 19 INC CHRAMH 068F 68 20 .1 PLA 0690 68 21 PLA ; PAGES 0691 8DAC06 22 STA PAGES 0694 A900 23 LDA #$00 0696 85CE 24 STA CHROMH 0698 85CC 25 STA CHRAMH 069A A8 26 TAY 069B B1CD 27 LOOP LDA (CHROML),Y ; LOAD FROM ROM 069D 91CB 28 STA (CHRAML),Y ; STORE IN RAM 069F C8 29 INY 06A0 D0F9 30 BNE LOOP ; DONE WITH 256 BYTE PAGE? 06A2 E6CE 31 INC CHROMH ; NEXT ROM PAGE 06A4 E6CC 32 INC CHRAMH ; NEXT RAM PAGE 06A6 CEAC06 33 DEC PAGES 06A9 D0F0 34 BNE LOOP ; DONE? 06AB 60 35 RTS 06AC 00 36 PAGES DS 1